week 5

필터링

  • 평균값 필터링 (저주파 통과 필터), 고주파 통과 필터
  • filter2 (filter, image, shape)
    • filter: 어떤 필터를 사용할 것인가(저주파 or 고주파)
    • image: 인풋 영상
    • shape
      • same: input과 output의 크기가 같다
        • 0으로 패딩
      • valid: 필터링을 할수있는 곳만 필터링을 한다 (유효)
        • 사이즈가 상하좌우 한 줄씩 줄어든다
        • 5by5가 3by3으로 줄어듬
    x = magic(5) // 가로 세로 합이 똑같은 데이터를 출력하는 함수 (인풋 데이터)
    a = ones(3,3)/9 // {1.111, 1.111, 1.111;
    					1.111, 1.111, 1.111;
    					1.111, 1.111, 1.111;}
    					필터링 마스크 (평균값 필터링)
    filter2(a, x, 'same') // 0패딩이기때문에 바깥쪽 데이터가 값이 작음
    filter2(a, x, 'valid') // 유효한 데이터만 필터링 -> 3by3으로 출력 
    filter2(a, x,) // 기본 값 same
    

fspecial 함수

  • 필터를 만드는 함수
  • fspecial('average', [5,7])
    • 5by7 평균값 필터링 생성
  • fspecial('average', 11)
    • 11by11 평균값 필터링 생성
  • fspecial()
    • 3by3 평균값 필터링 생성
  • fspecial의 여러 내장 필터
    • 스크린샷 2024-04-01 오후 11.49.20.png
      • average(저주파)
      • disk:(저주파): 원
      • gaussian(저주파)
        • 계수의 합이 1
      • 그 밑 필터들 (고주파)
        • 계수의 합이 0

분리형 필터

  • 필터링이 해당 되는 픽셀의 값을 곱해서 더하는 것이기 때문에 분리하지 않은 경우 복잡도가 증가한다

  • 스크린샷 2024-04-01 오후 11.44.17.png

    • 복잡도 하락

고주파 필터링

review

주파수: 간격에 대한 그레이 level의 변화
고주파: 작은 간격에서 그레이 값의 변화가 큰 곳
저주파: 그레이 값의 변화가 작은 곳(배경 등)

  • 고주파 필터링은 계수의 합이 0이된다

log filter

  • 영상 데이터에 노이즈가 많을 경우 노이즈 자체도 하나의 고주파
  • 가우시안을 통해 노이즈 제거
  • 그 후에 라플라시안 필터를 적용한 것

laplacian filter

g = fspecial('laplacian', 0.5)

  • 결과값
  • 스크린샷 2024-04-01 오후 11.57.10.png
  • 아규먼트 알파의 값이 커질 수록 센터 값이 더 많이 줄어듬
  • 필터 센터 값이 더 작아진다는 의미는 고주파를 더 강하게 잡는다는 말
  • “스크린샷 2024-04-02 오전 12.37.49.png” could not be found.
  • 스크린샷 2024-04-02 오전 12.56.27.png
    • 출력값
    • 경계선 등의 고주파 성분을 잘 잡아낸 것

log filter

스크린샷 2024-04-02 오전 12.53.06.png

  • 고주파 필터 특성 상 모두 합하면 0이다.
  • 스크린샷 2024-04-02 오전 12.59.19.png
    • log는 laplacian + gaussian(저주파)이기때문에 노이즈를 한 번 더 제거 했기에 더 뚜렷이 나타남
값의 제한
  • 범위를 벗어나는 데이터를 조정한다.
  • 스크린샷 2024-04-02 오전 1.00.26.png
  • but, 값을 벗어나는 데이터가 많으면 적합하지 않음
    ⬇️
척도변환
  • 스크린샷 2024-04-02 오전 1.01.27.png
    • 0~255 사이로 스케일링
    • 식에 의한 대입 연산

가우시안 필터

  • 저주파 필터
  • 스크린샷 2024-04-02 오전 1.03.53.png
    • 시그마 값이 크면 블러링이 많이 일어남
    • 시그마 값이 작으면 블러링이 적게 일어남
    • 스크린샷 2024-04-02 오전 1.07.48.png

에지 샤프닝

Unsharp 마스킹

  • 날카롭지 않은 마스크로 마스킹
  • 원본 영상 - unsharp 영상
    • unsharp: 저주파 필터를 통과한 영상
    • 상대적으로 고주파 성분 강조
    • 영상의 화질이 개선된 것처럼 보임
  • 스크린샷 2024-04-02 오전 1.09.39.png
    - 원본 영상을 저주파 필터를 통과시키고 스케일링 후 빼주면 고주파 성분 강조
    x = imread('buffalo.tif'); f=fspecial('average')//저주파 필터 생성 xf=filter2(f,x); xu=double(x)-xf/1,5;//원본영상에서 필터링 한 영상의 1.5 스케일링 한 영상을 빼줌
    스크린샷 2024-04-02 오전 1.12.30.png
  • 출력값
  • 저주파 일부 제거 해 고주파 성분 강조

하이부스트 필터

  • 오리지날 데이터에다 고주파 성분을 더해주는
  • 고주파 성분이 강조되는 효과

비선형 필터